使用Phabricator做为Code Review工具

文章目录
  1. 1. 设置规则
  2. 2. 客户端安装审查工具
  3. 3. 操作说明
    1. 3.1. 审查人,可进行的操作有
    2. 3.2. 作者,可进行的操作有
    3. 3.3. Arcanist - 命令交互
    4. 3.4. 在配置了 lint 和 unit test intergration后,可以用这些命令
    5. 3.5. 与其它工具交互
    6. 3.6. 高级功能

代码提交不审查是会影响整体的代码质量的,代码在推送到远端仓库的时候会增加一个审查环节,这里使用Phabricator

设置规则

  1. 搜索herald 增加一个规则,代码 push 时候进入审查阶段
  2. 规则设置 Conditions
    When [u]all of [/u] these conditions are met:
    [u]Accepted Differential revision[/u] [u]does not exist[/u]
    [u]仓库[/u] [u]is any of[/u] [u]输入你的仓库名称[/u]
  3. 操作
    Take these actions every time this rule matches:
    [u]Block push with message[/u] [u]推送消息的内容[/u]

保存后,你提交代码并推送的时候会被阻止,等待审查

客户端安装审查工具

查看这篇文章

操作说明

[colorr]注意:作者不能审查,需要审查者登录才能审查完毕[/colorr]

审查人,可进行的操作有

  • Comment:说点什么。可以针对某行代码进行评论,直接点击行号即可
  • Accept Revision:接受变更,这哥们代码写得不错,不需要改
  • Request Changes:不行,还要改
  • Resign as Reviewer:重新指定审查代码的人
  • Commandeer Revision:字面意思是将这个Revision据为己有的意思,实际上这个时候Reviewer的身份已经变为Owner的身份了,不能再进行Review了,但是Comment还是可以的
  • Add Reviewer:添加审查人
  • Add Subscribers:添加订阅者,CC

作者,可进行的操作有

  • Comment:说点什么。可以针对某行代码进行评论,直接点击行号即可
  • Abandon Revision:废除版本。废除后,这个版本就不需要再审核了
  • Plan Changes:计划变更,我自己发现了一些问题或者需求有变,正在改
  • Add Reviewer:添加其它审查人(除当前审查人外)
  • Add Subscribers:添加订阅者,CC

Arcanist - 命令交互

  • arc diff:发送变更详情和审查请求
  • arc land:推送变更(Git and Mercurial),当通过审查后使用这个命令
  • arc list:显示变更处理的情况
  • arc cover:查找最有可能审查变更的人
  • arc patch:给版本打补丁
  • arc export:从Differential下载补丁
  • arc amend:更新Git commit
  • arc commit:提交变更(SVN)
  • arc branch:查看Git branches更加详细的信息

在配置了 lint 和 unit test intergration后,可以用这些命令

  • arc lint:静态代码检查
  • arc unit:单元测试

与其它工具交互

  • arc upload:上传文件
  • arc download:下载文件
  • arc paste:创建和查看剪贴

高级功能

  • arc call-conduit:执行 Conduit 方法
  • arc liberate:创建或更新 libphutil 库
  • arc shell-complete:激活 tab 补全
评论